home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2004 April / Gamestar_61_2004-04_dvdb.iso / DVDStar / Editace / hltp.exe / {app} / Source Code / MAP Viewer / PointFile.h < prev    next >
C/C++ Source or Header  |  2003-10-09  |  2KB  |  67 lines

  1. /*
  2. Half-Life MAP viewing utility.
  3. Copyright (C) 2003  Ryan Samuel Gregg
  4.  
  5. This program is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2 of the License, or
  8. (at your option) any later version.
  9.  
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. GNU General Public License for more details.
  14.  
  15. You should have received a copy of the GNU General Public License
  16. along with this program; if not, write to the Free Software
  17. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18. */
  19.  
  20. #pragma once
  21. #include "stdafx.h"
  22.  
  23. __sealed __gc class CPointFile
  24. {
  25. private:
  26.     CConfig *Config;
  27.  
  28.     int iNumPoints;
  29.     Vertex3f *Vertices;
  30.  
  31. public:
  32.     CPointFile(CConfig *Config, int iNumPoints)
  33.     {
  34.         this->Config = Config;
  35.         this->iNumPoints = iNumPoints;
  36.  
  37.         Vertices = new Vertex3f[iNumPoints];
  38.     }
  39.  
  40.     ~CPointFile()
  41.     {
  42.         delete []Vertices;
  43.     }
  44.     
  45.     void SetVertex(int iIndex, Vertex3f Vertex)
  46.     {
  47.         Vertices[iIndex] = Vertex;
  48.     }
  49.  
  50.     void DrawPoints()
  51.     {
  52.         if(!Config->bDrawPointFile)
  53.             return;
  54.  
  55.         glEnable(GL_DEPTH_TEST);
  56.         glDisable(GL_CULL_FACE);
  57.         glDisable(GL_TEXTURE_2D);
  58.         glColor3ub(255, 0, 0);
  59.  
  60.         glEnableClientState(GL_VERTEX_ARRAY);
  61.         glVertexPointer(3, GL_FLOAT, sizeof(Vertex3f), Vertices);
  62.  
  63.         glDrawArrays(GL_LINE_STRIP, 0, iNumPoints);
  64.  
  65.         glEnableClientState(GL_VERTEX_ARRAY);
  66.     }
  67. };